package com.cmeduSystem.common.flow.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 流程委托用户的VO对象。
 *
 * @author xulei
 * @date 2025-09-04
 */
@Data
@Schema(description = "流程委托用户删除VO对象")
public class FlowDelegateUserVo {

    /**
     * 主键Id。
     */
    @Schema(description = "主键Id")
    private Long id;

    /**
     * 委托用户的登录名，多个用户之间逗号分隔。
     */
    @Schema(description = "委托用户的登录名，多个用户之间逗号分隔")
    private String delegateUsers;

    /**
     * 流程定义标识，多个流程之间逗号分隔。
     */
    @Schema(description = "流程定义标识，多个流程之间逗号分隔")
    private String processDefinitionKeys;

    /**
     * 委托范围。可取值user,dept,post,dept_post,role，多个值之间逗号分隔。
     */
    @Schema(description = "委托范围")
    private String delegateScope;

    /**
     * 开始时间。
     */
    @Schema(description = "开始时间")
    private Date startTime;

    /**
     * 结束时间。
     */
    @Schema(description = "结束时间")
    private Date endTime;

    /**
     * 委托说明。
     */
    @Schema(description = "委托说明")
    private String memo;

    /**
     * 创建时间。
     */
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 创建者。
     */
    @Schema(description = "创建者")
    private Long createUserId;

    /**
     * 创建者登录名称。
     */
    @Schema(description = "创建者登录名称")
    private String createLoginName;

    /**
     * 创建者显示名称。
     */
    @Schema(description = "创建者显示名称")
    private String createShowName;

    /**
     * 修改时间。
     */
    @Schema(description = "修改时间")
    private Date updateTime;

    /**
     * 更新者。
     */
    @Schema(description = "更新者")
    private Long updateUserId;

    /**
     * 委托人查询列表中包含的被委托用户列表数据。
     */
    @Schema(description = "委托人查询列表中包含的被委托用户列表数据")
    private List<FlowDelegatedUserVo> flowDelegatedUserList;

    /**
     * 被委托人查询列表中会包含该字段。
     */
    @Schema(description = "被委托人查询列表中会包含该字段")
    private FlowDelegatedUserVo flowDelegatedUser;
} 